1. Field of the Invention
This invention is directed to an interfacing circuitry arrangement, in general, and to an interfacing circuit which permits the handling of multiple devices in a circular-queue arrangement, in particular.
2. Prior Art
In the past, in order to permit a mini-computer to operate on one or more devices in the same controller, an extensive hardware and software configuration was required. In particular, it was generally required to have one complete set of interfacing hardware for each device within the same controller. This interfacing hardware included such materials or functions as a command register, data register, a direct memory access (DMA) data register, or first-in, first-out (FIFO) device along with appropriate command decode circuitry and the like. This apparatus, in addition to being quite costly, was not very flexible in utilization and, as noted, required a set of hardware for each device. In addition, it was not possible to "chain" any commands in the circuit operation.
In other configurations, the data/DMA FIFO, as controlled by a minicomputer bus, was directed to the first device of the controller. The information from the first device was processed by the controller. At the end of the operation, the FIFO resources were reassigned to the second device of the controller. This sequence continued until all the operations on different devices were satisfied. This approach was slow and not very flexible as well as having little or no advantageous operation.
In another approach, a dual port memory was utilized between the minicomputer bus and the controller wherein information was entered by the minicomputer on one port of the memory and information was taken out on the other port by the controller device. However, a device of this nature did not allow commands and DMA data chaining. In addition, it was expensive to implement and extensive memory size was usually required. Therefore, this approach was undesirable also.
In another approach, a first-in, first-out (FIFO) device was developed. In this type of device, various kinds of data were stored in the memory, in sequence. As a consequence, in order to remove or retrieve any data from this memory, it was essential and necessary to fetch all the commands and data that had been entered in the FIFO in order to obtain the appropriate data therefrom. Clearly, this operation is time-consuming and requires extensive amounts of hardware and software.